package cn.zero.letaomallspringboot.mapper;

import cn.zero.letaomallspringboot.entity.Good;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface GoodMapper {

    // 分离参数：offset, size, name, goodsSn, shopName（null 安全）
    List<Good> selectByPage(
            @Param("offset") int offset,
            @Param("size") int size,
            @Param("name") String name,
            @Param("shopName") String shopName,
            @Param("goodType") String goodType
    );

    // 总条数：只传搜索参数
    long selectCount(@Param("name") String name, @Param("shopName") String shopName, @Param("goodType") String goodType);

    int insertSelective(Good good);

    int updateByPrimaryKeySelective(Good good);

    int deleteByPrimaryKey(Integer goodId);

    int batchDeleteByIds(@Param("list") List<Integer> ids);

    List<Good> selectByPage(Map<String, Object> params);

    Good selectByPrimaryKey(Integer goodId);
}